Next: Structure Tag Completion, Previous: Object Method Completion in the Shell, Up: Completion [Contents][Index]
Class inheritance affects which methods are called in IDL. An
object of a class which inherits methods from one or more
superclasses can override that method by defining its own method
of the same name, extend the method by calling the method(s) of
its superclass(es) in its version, or inherit the method directly
by making no modifications. IDLWAVE examines class definitions
during completion and routine information display, and records
all inheritance information it finds. This information is
displayed if appropriate with the calling sequence for methods
(see Routine Info),
as long as variable idlwave-support-inheritance is
non-nil.
In many class methods, keyword inheritance
(_EXTRA and _REF_EXTRA) is used
hand-in-hand with class inheritance and method overriding. E.g.,
in a SetProperty method, this technique allows a
single call obj->SetProperty to set properties up
the entire class inheritance chain. This is often referred to as
chaining, and is characterized by chained method calls
like self->MySuperClass::SetProperty,_EXTRA=e.
IDLWAVE can accommodate this special synergy between class and
keyword inheritance: if _EXTRA or
_REF_EXTRA is detected among a method’s
keyword parameters, all keywords of superclass versions of the
method being considered can be included in completion. There is
of course no guarantee that this type of keyword chaining
actually occurs, but for some methods it’s a very
convenient assumption. The variable
idlwave-keyword-class-inheritance can be used to
configure which methods have keyword inheritance treated in this
simple, class-driven way. By default, only Init and
(Get|Set)Property are. The completion buffer will
label keywords based on their originating class.
t)Non-nil means consider inheritance during
completion, online help etc.
A list of regular expressions to match methods for which simple class-driven keyword inheritance will be used for Completion.
Next: Structure Tag Completion, Previous: Object Method Completion in the Shell, Up: Completion [Contents][Index]